package com.tarena.lbs.service;

import com.tarena.lbs.entity.UserCoupons;

import java.util.List;

public interface UserCouponsService {
    boolean insertUserCoupon(UserCoupons userCoupon);
    List<UserCoupons> listUserCouponsByUserId(Integer userId);
    boolean updateUserCouponStatus(Integer id, Integer status);
    UserCoupons getUserCouponByCode(String couponCode);
    // 用户领取优惠券
    boolean receiveCoupon(Integer userId, Integer couponId, Integer activityId);
    // 用户使用优惠券
    boolean useCoupon(String couponCode, String orderNo);
    // 统计用户已领取的优惠券数量
    int countUserCouponsByUserIdAndCouponId(Integer userId, Integer couponId);
    /**
     * 删除用户优惠券
     */
    boolean deleteUserCoupon(Integer id, Integer userId);

    /**
     * 批量删除用户优惠券
     */
    boolean batchDeleteUserCoupons(List<Integer> ids, Integer userId);

    /**
     * 物理删除用户优惠券（谨慎使用）
     */
    boolean physicallyDeleteUserCoupon(Integer id, Integer userId);
}